#ifndef TIMEBETWEENTHEATER_H
#define TIMEBETWEENTHEATER_H


//----------------------------------------------------------------------------//
// I N C L U D E   Q T                                                        //
//----------------------------------------------------------------------------//
#include <QObject>


//----------------------------------------------------------------------------//
// I N C L U D E   P R O J E C T                                              //
//----------------------------------------------------------------------------//
#include "theater.h"


//----------------------------------------------------------------------------//
// T Y P E S   &   D E F I N I T I O N S                                      //
//----------------------------------------------------------------------------//
class Theater;


//----------------------------------------------------------------------------//
// C L A S S   D E C L A R A T I O N                                          //
//----------------------------------------------------------------------------//
class TimeBetweenTheater : public QObject
{
    Q_OBJECT
  public:
    //------------------------------------------------------------------------//
    // C O N T R U C T O R S                                                  //
    //------------------------------------------------------------------------//
    explicit TimeBetweenTheater(Theater *, int, int);


    //------------------------------------------------------------------------//
    // P U B L I C   M E T H O D S   D E C L A R A T I O N                    //
    //------------------------------------------------------------------------//
    // getter
    int getTimeMin(void);
    int getTimeMax(void);
    Theater& getTheater(void);
    // setter
    void setTimeMin(int);
    void setTimeMax(int);
    // operator
    bool operator==(TimeBetweenTheater &);


  signals:
    //------------------------------------------------------------------------//
    // S I G N A L S                                                          //
    //------------------------------------------------------------------------//
    void timeMinChange(int);
    void timeMaxChange(int);


  public slots:
    //------------------------------------------------------------------------//
    // S L O T S                                                              //
    //------------------------------------------------------------------------//
    void changeTimeMin(int);
    void changeTimeMax(int);


  private:
    //------------------------------------------------------------------------//
    // P R I V A T E   A T T R I B U T E S   D E C L A R A T I O N            //
    //------------------------------------------------------------------------//
    Theater *theater;
    QTime    min;
    QTime    max;
};


#endif // TIMEBETWEENTHEATER_H
